package cn.com.woxitech.dev.model.gen;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class WmUserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public WmUserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUuidIsNull() {
            addCriterion("uuid is null");
            return (Criteria) this;
        }

        public Criteria andUuidIsNotNull() {
            addCriterion("uuid is not null");
            return (Criteria) this;
        }

        public Criteria andUuidEqualTo(String value) {
            addCriterion("uuid =", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotEqualTo(String value) {
            addCriterion("uuid <>", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidGreaterThan(String value) {
            addCriterion("uuid >", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidGreaterThanOrEqualTo(String value) {
            addCriterion("uuid >=", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLessThan(String value) {
            addCriterion("uuid <", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLessThanOrEqualTo(String value) {
            addCriterion("uuid <=", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidLike(String value) {
            addCriterion("uuid like", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotLike(String value) {
            addCriterion("uuid not like", value, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidIn(List<String> values) {
            addCriterion("uuid in", values, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotIn(List<String> values) {
            addCriterion("uuid not in", values, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidBetween(String value1, String value2) {
            addCriterion("uuid between", value1, value2, "uuid");
            return (Criteria) this;
        }

        public Criteria andUuidNotBetween(String value1, String value2) {
            addCriterion("uuid not between", value1, value2, "uuid");
            return (Criteria) this;
        }

        public Criteria andTelIsNull() {
            addCriterion("tel is null");
            return (Criteria) this;
        }

        public Criteria andTelIsNotNull() {
            addCriterion("tel is not null");
            return (Criteria) this;
        }

        public Criteria andTelEqualTo(String value) {
            addCriterion("tel =", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotEqualTo(String value) {
            addCriterion("tel <>", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelGreaterThan(String value) {
            addCriterion("tel >", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelGreaterThanOrEqualTo(String value) {
            addCriterion("tel >=", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLessThan(String value) {
            addCriterion("tel <", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLessThanOrEqualTo(String value) {
            addCriterion("tel <=", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLike(String value) {
            addCriterion("tel like", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotLike(String value) {
            addCriterion("tel not like", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelIn(List<String> values) {
            addCriterion("tel in", values, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotIn(List<String> values) {
            addCriterion("tel not in", values, "tel");
            return (Criteria) this;
        }

        public Criteria andTelBetween(String value1, String value2) {
            addCriterion("tel between", value1, value2, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotBetween(String value1, String value2) {
            addCriterion("tel not between", value1, value2, "tel");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("name is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("name is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("name =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("name <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("name >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("name >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("name <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("name <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("name like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("name not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("name in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("name not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("name between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("name not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andWxOpenidIsNull() {
            addCriterion("wx_openid is null");
            return (Criteria) this;
        }

        public Criteria andWxOpenidIsNotNull() {
            addCriterion("wx_openid is not null");
            return (Criteria) this;
        }

        public Criteria andWxOpenidEqualTo(String value) {
            addCriterion("wx_openid =", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidNotEqualTo(String value) {
            addCriterion("wx_openid <>", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidGreaterThan(String value) {
            addCriterion("wx_openid >", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidGreaterThanOrEqualTo(String value) {
            addCriterion("wx_openid >=", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidLessThan(String value) {
            addCriterion("wx_openid <", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidLessThanOrEqualTo(String value) {
            addCriterion("wx_openid <=", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidLike(String value) {
            addCriterion("wx_openid like", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidNotLike(String value) {
            addCriterion("wx_openid not like", value, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidIn(List<String> values) {
            addCriterion("wx_openid in", values, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidNotIn(List<String> values) {
            addCriterion("wx_openid not in", values, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidBetween(String value1, String value2) {
            addCriterion("wx_openid between", value1, value2, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxOpenidNotBetween(String value1, String value2) {
            addCriterion("wx_openid not between", value1, value2, "wxOpenid");
            return (Criteria) this;
        }

        public Criteria andWxNicknameIsNull() {
            addCriterion("wx_nickname is null");
            return (Criteria) this;
        }

        public Criteria andWxNicknameIsNotNull() {
            addCriterion("wx_nickname is not null");
            return (Criteria) this;
        }

        public Criteria andWxNicknameEqualTo(String value) {
            addCriterion("wx_nickname =", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameNotEqualTo(String value) {
            addCriterion("wx_nickname <>", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameGreaterThan(String value) {
            addCriterion("wx_nickname >", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameGreaterThanOrEqualTo(String value) {
            addCriterion("wx_nickname >=", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameLessThan(String value) {
            addCriterion("wx_nickname <", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameLessThanOrEqualTo(String value) {
            addCriterion("wx_nickname <=", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameLike(String value) {
            addCriterion("wx_nickname like", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameNotLike(String value) {
            addCriterion("wx_nickname not like", value, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameIn(List<String> values) {
            addCriterion("wx_nickname in", values, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameNotIn(List<String> values) {
            addCriterion("wx_nickname not in", values, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameBetween(String value1, String value2) {
            addCriterion("wx_nickname between", value1, value2, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxNicknameNotBetween(String value1, String value2) {
            addCriterion("wx_nickname not between", value1, value2, "wxNickname");
            return (Criteria) this;
        }

        public Criteria andWxSexIsNull() {
            addCriterion("wx_sex is null");
            return (Criteria) this;
        }

        public Criteria andWxSexIsNotNull() {
            addCriterion("wx_sex is not null");
            return (Criteria) this;
        }

        public Criteria andWxSexEqualTo(String value) {
            addCriterion("wx_sex =", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexNotEqualTo(String value) {
            addCriterion("wx_sex <>", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexGreaterThan(String value) {
            addCriterion("wx_sex >", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexGreaterThanOrEqualTo(String value) {
            addCriterion("wx_sex >=", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexLessThan(String value) {
            addCriterion("wx_sex <", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexLessThanOrEqualTo(String value) {
            addCriterion("wx_sex <=", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexLike(String value) {
            addCriterion("wx_sex like", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexNotLike(String value) {
            addCriterion("wx_sex not like", value, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexIn(List<String> values) {
            addCriterion("wx_sex in", values, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexNotIn(List<String> values) {
            addCriterion("wx_sex not in", values, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexBetween(String value1, String value2) {
            addCriterion("wx_sex between", value1, value2, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxSexNotBetween(String value1, String value2) {
            addCriterion("wx_sex not between", value1, value2, "wxSex");
            return (Criteria) this;
        }

        public Criteria andWxProvinceIsNull() {
            addCriterion("wx_province is null");
            return (Criteria) this;
        }

        public Criteria andWxProvinceIsNotNull() {
            addCriterion("wx_province is not null");
            return (Criteria) this;
        }

        public Criteria andWxProvinceEqualTo(String value) {
            addCriterion("wx_province =", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceNotEqualTo(String value) {
            addCriterion("wx_province <>", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceGreaterThan(String value) {
            addCriterion("wx_province >", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceGreaterThanOrEqualTo(String value) {
            addCriterion("wx_province >=", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceLessThan(String value) {
            addCriterion("wx_province <", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceLessThanOrEqualTo(String value) {
            addCriterion("wx_province <=", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceLike(String value) {
            addCriterion("wx_province like", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceNotLike(String value) {
            addCriterion("wx_province not like", value, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceIn(List<String> values) {
            addCriterion("wx_province in", values, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceNotIn(List<String> values) {
            addCriterion("wx_province not in", values, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceBetween(String value1, String value2) {
            addCriterion("wx_province between", value1, value2, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxProvinceNotBetween(String value1, String value2) {
            addCriterion("wx_province not between", value1, value2, "wxProvince");
            return (Criteria) this;
        }

        public Criteria andWxCityIsNull() {
            addCriterion("wx_city is null");
            return (Criteria) this;
        }

        public Criteria andWxCityIsNotNull() {
            addCriterion("wx_city is not null");
            return (Criteria) this;
        }

        public Criteria andWxCityEqualTo(String value) {
            addCriterion("wx_city =", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityNotEqualTo(String value) {
            addCriterion("wx_city <>", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityGreaterThan(String value) {
            addCriterion("wx_city >", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityGreaterThanOrEqualTo(String value) {
            addCriterion("wx_city >=", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityLessThan(String value) {
            addCriterion("wx_city <", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityLessThanOrEqualTo(String value) {
            addCriterion("wx_city <=", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityLike(String value) {
            addCriterion("wx_city like", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityNotLike(String value) {
            addCriterion("wx_city not like", value, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityIn(List<String> values) {
            addCriterion("wx_city in", values, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityNotIn(List<String> values) {
            addCriterion("wx_city not in", values, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityBetween(String value1, String value2) {
            addCriterion("wx_city between", value1, value2, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCityNotBetween(String value1, String value2) {
            addCriterion("wx_city not between", value1, value2, "wxCity");
            return (Criteria) this;
        }

        public Criteria andWxCountryIsNull() {
            addCriterion("wx_country is null");
            return (Criteria) this;
        }

        public Criteria andWxCountryIsNotNull() {
            addCriterion("wx_country is not null");
            return (Criteria) this;
        }

        public Criteria andWxCountryEqualTo(String value) {
            addCriterion("wx_country =", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryNotEqualTo(String value) {
            addCriterion("wx_country <>", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryGreaterThan(String value) {
            addCriterion("wx_country >", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryGreaterThanOrEqualTo(String value) {
            addCriterion("wx_country >=", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryLessThan(String value) {
            addCriterion("wx_country <", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryLessThanOrEqualTo(String value) {
            addCriterion("wx_country <=", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryLike(String value) {
            addCriterion("wx_country like", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryNotLike(String value) {
            addCriterion("wx_country not like", value, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryIn(List<String> values) {
            addCriterion("wx_country in", values, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryNotIn(List<String> values) {
            addCriterion("wx_country not in", values, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryBetween(String value1, String value2) {
            addCriterion("wx_country between", value1, value2, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxCountryNotBetween(String value1, String value2) {
            addCriterion("wx_country not between", value1, value2, "wxCountry");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlIsNull() {
            addCriterion("wx_headimgurl is null");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlIsNotNull() {
            addCriterion("wx_headimgurl is not null");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlEqualTo(String value) {
            addCriterion("wx_headimgurl =", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlNotEqualTo(String value) {
            addCriterion("wx_headimgurl <>", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlGreaterThan(String value) {
            addCriterion("wx_headimgurl >", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlGreaterThanOrEqualTo(String value) {
            addCriterion("wx_headimgurl >=", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlLessThan(String value) {
            addCriterion("wx_headimgurl <", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlLessThanOrEqualTo(String value) {
            addCriterion("wx_headimgurl <=", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlLike(String value) {
            addCriterion("wx_headimgurl like", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlNotLike(String value) {
            addCriterion("wx_headimgurl not like", value, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlIn(List<String> values) {
            addCriterion("wx_headimgurl in", values, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlNotIn(List<String> values) {
            addCriterion("wx_headimgurl not in", values, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlBetween(String value1, String value2) {
            addCriterion("wx_headimgurl between", value1, value2, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxHeadimgurlNotBetween(String value1, String value2) {
            addCriterion("wx_headimgurl not between", value1, value2, "wxHeadimgurl");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeIsNull() {
            addCriterion("wx_privilege is null");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeIsNotNull() {
            addCriterion("wx_privilege is not null");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeEqualTo(String value) {
            addCriterion("wx_privilege =", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeNotEqualTo(String value) {
            addCriterion("wx_privilege <>", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeGreaterThan(String value) {
            addCriterion("wx_privilege >", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeGreaterThanOrEqualTo(String value) {
            addCriterion("wx_privilege >=", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeLessThan(String value) {
            addCriterion("wx_privilege <", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeLessThanOrEqualTo(String value) {
            addCriterion("wx_privilege <=", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeLike(String value) {
            addCriterion("wx_privilege like", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeNotLike(String value) {
            addCriterion("wx_privilege not like", value, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeIn(List<String> values) {
            addCriterion("wx_privilege in", values, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeNotIn(List<String> values) {
            addCriterion("wx_privilege not in", values, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeBetween(String value1, String value2) {
            addCriterion("wx_privilege between", value1, value2, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxPrivilegeNotBetween(String value1, String value2) {
            addCriterion("wx_privilege not between", value1, value2, "wxPrivilege");
            return (Criteria) this;
        }

        public Criteria andWxUnionidIsNull() {
            addCriterion("wx_unionid is null");
            return (Criteria) this;
        }

        public Criteria andWxUnionidIsNotNull() {
            addCriterion("wx_unionid is not null");
            return (Criteria) this;
        }

        public Criteria andWxUnionidEqualTo(String value) {
            addCriterion("wx_unionid =", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidNotEqualTo(String value) {
            addCriterion("wx_unionid <>", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidGreaterThan(String value) {
            addCriterion("wx_unionid >", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidGreaterThanOrEqualTo(String value) {
            addCriterion("wx_unionid >=", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidLessThan(String value) {
            addCriterion("wx_unionid <", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidLessThanOrEqualTo(String value) {
            addCriterion("wx_unionid <=", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidLike(String value) {
            addCriterion("wx_unionid like", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidNotLike(String value) {
            addCriterion("wx_unionid not like", value, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidIn(List<String> values) {
            addCriterion("wx_unionid in", values, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidNotIn(List<String> values) {
            addCriterion("wx_unionid not in", values, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidBetween(String value1, String value2) {
            addCriterion("wx_unionid between", value1, value2, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andWxUnionidNotBetween(String value1, String value2) {
            addCriterion("wx_unionid not between", value1, value2, "wxUnionid");
            return (Criteria) this;
        }

        public Criteria andLastloginIsNull() {
            addCriterion("lastlogin is null");
            return (Criteria) this;
        }

        public Criteria andLastloginIsNotNull() {
            addCriterion("lastlogin is not null");
            return (Criteria) this;
        }

        public Criteria andLastloginEqualTo(Date value) {
            addCriterion("lastlogin =", value, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginNotEqualTo(Date value) {
            addCriterion("lastlogin <>", value, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginGreaterThan(Date value) {
            addCriterion("lastlogin >", value, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginGreaterThanOrEqualTo(Date value) {
            addCriterion("lastlogin >=", value, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginLessThan(Date value) {
            addCriterion("lastlogin <", value, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginLessThanOrEqualTo(Date value) {
            addCriterion("lastlogin <=", value, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginIn(List<Date> values) {
            addCriterion("lastlogin in", values, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginNotIn(List<Date> values) {
            addCriterion("lastlogin not in", values, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginBetween(Date value1, Date value2) {
            addCriterion("lastlogin between", value1, value2, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andLastloginNotBetween(Date value1, Date value2) {
            addCriterion("lastlogin not between", value1, value2, "lastlogin");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenIsNull() {
            addCriterion("u_access_token is null");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenIsNotNull() {
            addCriterion("u_access_token is not null");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenEqualTo(String value) {
            addCriterion("u_access_token =", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenNotEqualTo(String value) {
            addCriterion("u_access_token <>", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenGreaterThan(String value) {
            addCriterion("u_access_token >", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenGreaterThanOrEqualTo(String value) {
            addCriterion("u_access_token >=", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenLessThan(String value) {
            addCriterion("u_access_token <", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenLessThanOrEqualTo(String value) {
            addCriterion("u_access_token <=", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenLike(String value) {
            addCriterion("u_access_token like", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenNotLike(String value) {
            addCriterion("u_access_token not like", value, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenIn(List<String> values) {
            addCriterion("u_access_token in", values, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenNotIn(List<String> values) {
            addCriterion("u_access_token not in", values, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenBetween(String value1, String value2) {
            addCriterion("u_access_token between", value1, value2, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUAccessTokenNotBetween(String value1, String value2) {
            addCriterion("u_access_token not between", value1, value2, "uAccessToken");
            return (Criteria) this;
        }

        public Criteria andUExpiresInIsNull() {
            addCriterion("u_expires_in is null");
            return (Criteria) this;
        }

        public Criteria andUExpiresInIsNotNull() {
            addCriterion("u_expires_in is not null");
            return (Criteria) this;
        }

        public Criteria andUExpiresInEqualTo(Integer value) {
            addCriterion("u_expires_in =", value, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInNotEqualTo(Integer value) {
            addCriterion("u_expires_in <>", value, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInGreaterThan(Integer value) {
            addCriterion("u_expires_in >", value, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInGreaterThanOrEqualTo(Integer value) {
            addCriterion("u_expires_in >=", value, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInLessThan(Integer value) {
            addCriterion("u_expires_in <", value, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInLessThanOrEqualTo(Integer value) {
            addCriterion("u_expires_in <=", value, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInIn(List<Integer> values) {
            addCriterion("u_expires_in in", values, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInNotIn(List<Integer> values) {
            addCriterion("u_expires_in not in", values, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInBetween(Integer value1, Integer value2) {
            addCriterion("u_expires_in between", value1, value2, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andUExpiresInNotBetween(Integer value1, Integer value2) {
            addCriterion("u_expires_in not between", value1, value2, "uExpiresIn");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenIsNull() {
            addCriterion("u_refresh_token is null");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenIsNotNull() {
            addCriterion("u_refresh_token is not null");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenEqualTo(String value) {
            addCriterion("u_refresh_token =", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenNotEqualTo(String value) {
            addCriterion("u_refresh_token <>", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenGreaterThan(String value) {
            addCriterion("u_refresh_token >", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenGreaterThanOrEqualTo(String value) {
            addCriterion("u_refresh_token >=", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenLessThan(String value) {
            addCriterion("u_refresh_token <", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenLessThanOrEqualTo(String value) {
            addCriterion("u_refresh_token <=", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenLike(String value) {
            addCriterion("u_refresh_token like", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenNotLike(String value) {
            addCriterion("u_refresh_token not like", value, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenIn(List<String> values) {
            addCriterion("u_refresh_token in", values, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenNotIn(List<String> values) {
            addCriterion("u_refresh_token not in", values, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenBetween(String value1, String value2) {
            addCriterion("u_refresh_token between", value1, value2, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andURefreshTokenNotBetween(String value1, String value2) {
            addCriterion("u_refresh_token not between", value1, value2, "uRefreshToken");
            return (Criteria) this;
        }

        public Criteria andUScopeIsNull() {
            addCriterion("u_scope is null");
            return (Criteria) this;
        }

        public Criteria andUScopeIsNotNull() {
            addCriterion("u_scope is not null");
            return (Criteria) this;
        }

        public Criteria andUScopeEqualTo(String value) {
            addCriterion("u_scope =", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeNotEqualTo(String value) {
            addCriterion("u_scope <>", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeGreaterThan(String value) {
            addCriterion("u_scope >", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeGreaterThanOrEqualTo(String value) {
            addCriterion("u_scope >=", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeLessThan(String value) {
            addCriterion("u_scope <", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeLessThanOrEqualTo(String value) {
            addCriterion("u_scope <=", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeLike(String value) {
            addCriterion("u_scope like", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeNotLike(String value) {
            addCriterion("u_scope not like", value, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeIn(List<String> values) {
            addCriterion("u_scope in", values, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeNotIn(List<String> values) {
            addCriterion("u_scope not in", values, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeBetween(String value1, String value2) {
            addCriterion("u_scope between", value1, value2, "uScope");
            return (Criteria) this;
        }

        public Criteria andUScopeNotBetween(String value1, String value2) {
            addCriterion("u_scope not between", value1, value2, "uScope");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenIsNull() {
            addCriterion("open_access_token is null");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenIsNotNull() {
            addCriterion("open_access_token is not null");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenEqualTo(String value) {
            addCriterion("open_access_token =", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenNotEqualTo(String value) {
            addCriterion("open_access_token <>", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenGreaterThan(String value) {
            addCriterion("open_access_token >", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenGreaterThanOrEqualTo(String value) {
            addCriterion("open_access_token >=", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenLessThan(String value) {
            addCriterion("open_access_token <", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenLessThanOrEqualTo(String value) {
            addCriterion("open_access_token <=", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenLike(String value) {
            addCriterion("open_access_token like", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenNotLike(String value) {
            addCriterion("open_access_token not like", value, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenIn(List<String> values) {
            addCriterion("open_access_token in", values, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenNotIn(List<String> values) {
            addCriterion("open_access_token not in", values, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenBetween(String value1, String value2) {
            addCriterion("open_access_token between", value1, value2, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenAccessTokenNotBetween(String value1, String value2) {
            addCriterion("open_access_token not between", value1, value2, "openAccessToken");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInIsNull() {
            addCriterion("open_expires_in is null");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInIsNotNull() {
            addCriterion("open_expires_in is not null");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInEqualTo(Integer value) {
            addCriterion("open_expires_in =", value, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInNotEqualTo(Integer value) {
            addCriterion("open_expires_in <>", value, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInGreaterThan(Integer value) {
            addCriterion("open_expires_in >", value, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInGreaterThanOrEqualTo(Integer value) {
            addCriterion("open_expires_in >=", value, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInLessThan(Integer value) {
            addCriterion("open_expires_in <", value, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInLessThanOrEqualTo(Integer value) {
            addCriterion("open_expires_in <=", value, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInIn(List<Integer> values) {
            addCriterion("open_expires_in in", values, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInNotIn(List<Integer> values) {
            addCriterion("open_expires_in not in", values, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInBetween(Integer value1, Integer value2) {
            addCriterion("open_expires_in between", value1, value2, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenExpiresInNotBetween(Integer value1, Integer value2) {
            addCriterion("open_expires_in not between", value1, value2, "openExpiresIn");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenIsNull() {
            addCriterion("open_refresh_token is null");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenIsNotNull() {
            addCriterion("open_refresh_token is not null");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenEqualTo(String value) {
            addCriterion("open_refresh_token =", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenNotEqualTo(String value) {
            addCriterion("open_refresh_token <>", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenGreaterThan(String value) {
            addCriterion("open_refresh_token >", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenGreaterThanOrEqualTo(String value) {
            addCriterion("open_refresh_token >=", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenLessThan(String value) {
            addCriterion("open_refresh_token <", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenLessThanOrEqualTo(String value) {
            addCriterion("open_refresh_token <=", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenLike(String value) {
            addCriterion("open_refresh_token like", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenNotLike(String value) {
            addCriterion("open_refresh_token not like", value, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenIn(List<String> values) {
            addCriterion("open_refresh_token in", values, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenNotIn(List<String> values) {
            addCriterion("open_refresh_token not in", values, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenBetween(String value1, String value2) {
            addCriterion("open_refresh_token between", value1, value2, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenRefreshTokenNotBetween(String value1, String value2) {
            addCriterion("open_refresh_token not between", value1, value2, "openRefreshToken");
            return (Criteria) this;
        }

        public Criteria andOpenScopeIsNull() {
            addCriterion("open_scope is null");
            return (Criteria) this;
        }

        public Criteria andOpenScopeIsNotNull() {
            addCriterion("open_scope is not null");
            return (Criteria) this;
        }

        public Criteria andOpenScopeEqualTo(String value) {
            addCriterion("open_scope =", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeNotEqualTo(String value) {
            addCriterion("open_scope <>", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeGreaterThan(String value) {
            addCriterion("open_scope >", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeGreaterThanOrEqualTo(String value) {
            addCriterion("open_scope >=", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeLessThan(String value) {
            addCriterion("open_scope <", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeLessThanOrEqualTo(String value) {
            addCriterion("open_scope <=", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeLike(String value) {
            addCriterion("open_scope like", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeNotLike(String value) {
            addCriterion("open_scope not like", value, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeIn(List<String> values) {
            addCriterion("open_scope in", values, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeNotIn(List<String> values) {
            addCriterion("open_scope not in", values, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeBetween(String value1, String value2) {
            addCriterion("open_scope between", value1, value2, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenScopeNotBetween(String value1, String value2) {
            addCriterion("open_scope not between", value1, value2, "openScope");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidIsNull() {
            addCriterion("open_openid is null");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidIsNotNull() {
            addCriterion("open_openid is not null");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidEqualTo(String value) {
            addCriterion("open_openid =", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidNotEqualTo(String value) {
            addCriterion("open_openid <>", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidGreaterThan(String value) {
            addCriterion("open_openid >", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidGreaterThanOrEqualTo(String value) {
            addCriterion("open_openid >=", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidLessThan(String value) {
            addCriterion("open_openid <", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidLessThanOrEqualTo(String value) {
            addCriterion("open_openid <=", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidLike(String value) {
            addCriterion("open_openid like", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidNotLike(String value) {
            addCriterion("open_openid not like", value, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidIn(List<String> values) {
            addCriterion("open_openid in", values, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidNotIn(List<String> values) {
            addCriterion("open_openid not in", values, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidBetween(String value1, String value2) {
            addCriterion("open_openid between", value1, value2, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andOpenOpenidNotBetween(String value1, String value2) {
            addCriterion("open_openid not between", value1, value2, "openOpenid");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("createtime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createtime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Date value) {
            addCriterion("createtime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Date value) {
            addCriterion("createtime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Date value) {
            addCriterion("createtime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("createtime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Date value) {
            addCriterion("createtime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
            addCriterion("createtime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Date> values) {
            addCriterion("createtime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Date> values) {
            addCriterion("createtime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Date value1, Date value2) {
            addCriterion("createtime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
            addCriterion("createtime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andDyOpenidIsNull() {
            addCriterion("dy_openid is null");
            return (Criteria) this;
        }

        public Criteria andDyOpenidIsNotNull() {
            addCriterion("dy_openid is not null");
            return (Criteria) this;
        }

        public Criteria andDyOpenidEqualTo(String value) {
            addCriterion("dy_openid =", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidNotEqualTo(String value) {
            addCriterion("dy_openid <>", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidGreaterThan(String value) {
            addCriterion("dy_openid >", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidGreaterThanOrEqualTo(String value) {
            addCriterion("dy_openid >=", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidLessThan(String value) {
            addCriterion("dy_openid <", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidLessThanOrEqualTo(String value) {
            addCriterion("dy_openid <=", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidLike(String value) {
            addCriterion("dy_openid like", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidNotLike(String value) {
            addCriterion("dy_openid not like", value, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidIn(List<String> values) {
            addCriterion("dy_openid in", values, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidNotIn(List<String> values) {
            addCriterion("dy_openid not in", values, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidBetween(String value1, String value2) {
            addCriterion("dy_openid between", value1, value2, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyOpenidNotBetween(String value1, String value2) {
            addCriterion("dy_openid not between", value1, value2, "dyOpenid");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenIsNull() {
            addCriterion("dy_access_token is null");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenIsNotNull() {
            addCriterion("dy_access_token is not null");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenEqualTo(String value) {
            addCriterion("dy_access_token =", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenNotEqualTo(String value) {
            addCriterion("dy_access_token <>", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenGreaterThan(String value) {
            addCriterion("dy_access_token >", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenGreaterThanOrEqualTo(String value) {
            addCriterion("dy_access_token >=", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenLessThan(String value) {
            addCriterion("dy_access_token <", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenLessThanOrEqualTo(String value) {
            addCriterion("dy_access_token <=", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenLike(String value) {
            addCriterion("dy_access_token like", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenNotLike(String value) {
            addCriterion("dy_access_token not like", value, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenIn(List<String> values) {
            addCriterion("dy_access_token in", values, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenNotIn(List<String> values) {
            addCriterion("dy_access_token not in", values, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenBetween(String value1, String value2) {
            addCriterion("dy_access_token between", value1, value2, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyAccessTokenNotBetween(String value1, String value2) {
            addCriterion("dy_access_token not between", value1, value2, "dyAccessToken");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInIsNull() {
            addCriterion("dy_expires_in is null");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInIsNotNull() {
            addCriterion("dy_expires_in is not null");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInEqualTo(Integer value) {
            addCriterion("dy_expires_in =", value, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInNotEqualTo(Integer value) {
            addCriterion("dy_expires_in <>", value, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInGreaterThan(Integer value) {
            addCriterion("dy_expires_in >", value, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInGreaterThanOrEqualTo(Integer value) {
            addCriterion("dy_expires_in >=", value, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInLessThan(Integer value) {
            addCriterion("dy_expires_in <", value, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInLessThanOrEqualTo(Integer value) {
            addCriterion("dy_expires_in <=", value, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInIn(List<Integer> values) {
            addCriterion("dy_expires_in in", values, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInNotIn(List<Integer> values) {
            addCriterion("dy_expires_in not in", values, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInBetween(Integer value1, Integer value2) {
            addCriterion("dy_expires_in between", value1, value2, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyExpiresInNotBetween(Integer value1, Integer value2) {
            addCriterion("dy_expires_in not between", value1, value2, "dyExpiresIn");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenIsNull() {
            addCriterion("dy_refresh_token is null");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenIsNotNull() {
            addCriterion("dy_refresh_token is not null");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenEqualTo(String value) {
            addCriterion("dy_refresh_token =", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenNotEqualTo(String value) {
            addCriterion("dy_refresh_token <>", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenGreaterThan(String value) {
            addCriterion("dy_refresh_token >", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenGreaterThanOrEqualTo(String value) {
            addCriterion("dy_refresh_token >=", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenLessThan(String value) {
            addCriterion("dy_refresh_token <", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenLessThanOrEqualTo(String value) {
            addCriterion("dy_refresh_token <=", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenLike(String value) {
            addCriterion("dy_refresh_token like", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenNotLike(String value) {
            addCriterion("dy_refresh_token not like", value, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenIn(List<String> values) {
            addCriterion("dy_refresh_token in", values, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenNotIn(List<String> values) {
            addCriterion("dy_refresh_token not in", values, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenBetween(String value1, String value2) {
            addCriterion("dy_refresh_token between", value1, value2, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyRefreshTokenNotBetween(String value1, String value2) {
            addCriterion("dy_refresh_token not between", value1, value2, "dyRefreshToken");
            return (Criteria) this;
        }

        public Criteria andDyScopeIsNull() {
            addCriterion("dy_scope is null");
            return (Criteria) this;
        }

        public Criteria andDyScopeIsNotNull() {
            addCriterion("dy_scope is not null");
            return (Criteria) this;
        }

        public Criteria andDyScopeEqualTo(String value) {
            addCriterion("dy_scope =", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeNotEqualTo(String value) {
            addCriterion("dy_scope <>", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeGreaterThan(String value) {
            addCriterion("dy_scope >", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeGreaterThanOrEqualTo(String value) {
            addCriterion("dy_scope >=", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeLessThan(String value) {
            addCriterion("dy_scope <", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeLessThanOrEqualTo(String value) {
            addCriterion("dy_scope <=", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeLike(String value) {
            addCriterion("dy_scope like", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeNotLike(String value) {
            addCriterion("dy_scope not like", value, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeIn(List<String> values) {
            addCriterion("dy_scope in", values, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeNotIn(List<String> values) {
            addCriterion("dy_scope not in", values, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeBetween(String value1, String value2) {
            addCriterion("dy_scope between", value1, value2, "dyScope");
            return (Criteria) this;
        }

        public Criteria andDyScopeNotBetween(String value1, String value2) {
            addCriterion("dy_scope not between", value1, value2, "dyScope");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateIsNull() {
            addCriterion("need_update is null");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateIsNotNull() {
            addCriterion("need_update is not null");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateEqualTo(String value) {
            addCriterion("need_update =", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateNotEqualTo(String value) {
            addCriterion("need_update <>", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateGreaterThan(String value) {
            addCriterion("need_update >", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateGreaterThanOrEqualTo(String value) {
            addCriterion("need_update >=", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateLessThan(String value) {
            addCriterion("need_update <", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateLessThanOrEqualTo(String value) {
            addCriterion("need_update <=", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateLike(String value) {
            addCriterion("need_update like", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateNotLike(String value) {
            addCriterion("need_update not like", value, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateIn(List<String> values) {
            addCriterion("need_update in", values, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateNotIn(List<String> values) {
            addCriterion("need_update not in", values, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateBetween(String value1, String value2) {
            addCriterion("need_update between", value1, value2, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andNeedUpdateNotBetween(String value1, String value2) {
            addCriterion("need_update not between", value1, value2, "needUpdate");
            return (Criteria) this;
        }

        public Criteria andUserTypeIsNull() {
            addCriterion("user_type is null");
            return (Criteria) this;
        }

        public Criteria andUserTypeIsNotNull() {
            addCriterion("user_type is not null");
            return (Criteria) this;
        }

        public Criteria andUserTypeEqualTo(String value) {
            addCriterion("user_type =", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotEqualTo(String value) {
            addCriterion("user_type <>", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThan(String value) {
            addCriterion("user_type >", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeGreaterThanOrEqualTo(String value) {
            addCriterion("user_type >=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThan(String value) {
            addCriterion("user_type <", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLessThanOrEqualTo(String value) {
            addCriterion("user_type <=", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeLike(String value) {
            addCriterion("user_type like", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotLike(String value) {
            addCriterion("user_type not like", value, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeIn(List<String> values) {
            addCriterion("user_type in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotIn(List<String> values) {
            addCriterion("user_type not in", values, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeBetween(String value1, String value2) {
            addCriterion("user_type between", value1, value2, "userType");
            return (Criteria) this;
        }

        public Criteria andUserTypeNotBetween(String value1, String value2) {
            addCriterion("user_type not between", value1, value2, "userType");
            return (Criteria) this;
        }

        public Criteria andPwdIsNull() {
            addCriterion("pwd is null");
            return (Criteria) this;
        }

        public Criteria andPwdIsNotNull() {
            addCriterion("pwd is not null");
            return (Criteria) this;
        }

        public Criteria andPwdEqualTo(String value) {
            addCriterion("pwd =", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdNotEqualTo(String value) {
            addCriterion("pwd <>", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdGreaterThan(String value) {
            addCriterion("pwd >", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdGreaterThanOrEqualTo(String value) {
            addCriterion("pwd >=", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdLessThan(String value) {
            addCriterion("pwd <", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdLessThanOrEqualTo(String value) {
            addCriterion("pwd <=", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdLike(String value) {
            addCriterion("pwd like", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdNotLike(String value) {
            addCriterion("pwd not like", value, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdIn(List<String> values) {
            addCriterion("pwd in", values, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdNotIn(List<String> values) {
            addCriterion("pwd not in", values, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdBetween(String value1, String value2) {
            addCriterion("pwd between", value1, value2, "pwd");
            return (Criteria) this;
        }

        public Criteria andPwdNotBetween(String value1, String value2) {
            addCriterion("pwd not between", value1, value2, "pwd");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("email not between", value1, value2, "email");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}